package com.oneinlet

import org.junit.Test

class TestYCAssert {

    @Test
    fun testIsTrue() {
        YCAssert.isTrue(520==520)
        YCAssert.isTrue(100==150,"自定义错误消息提示：100不能等于150")
    }


    @Test
    fun testIsNull() {
        YCAssert.isNull(null)
        YCAssert.isNull("YC is a smart utils","参数必须为null，虽然情况很少见")
    }

    @Test
    fun testIsNotNull() {
        YCAssert.notNull("我不是null")
        YCAssert.notNull(null,"参数不能为null")
    }

    @Test
    fun testHasLength() {
        YCAssert.hasLength("我不是null而且我有长度值大于0")
        // 会抛出异常，因为字符串是null
        YCAssert.hasLength(null,"参数不能为null")
        // 会抛出异常，因为字符串是空
        YCAssert.hasLength("","参数不能为空字符串\"\" ")
    }

    @Test
    fun testHasText() {
        YCAssert.hasText("我不是null")
        // 会抛出异常 不能为null 空字符串，空格
        YCAssert.hasText("    ")
    }

    @Test
    fun testDoesNotContain() {
        YCAssert.doesNotContain("可以尝试在我这里判断是否不包含某个字符串","某个","目标字符串包含 ”某个“ 关键字，这是禁止的！")
        YCAssert.doesNotContain("可以尝试在我这里判断是否不包含某个字符串","某个")
    }

    @Test
    fun testNotEmpty() {
        var map=HashMap<String,String>()
        YCAssert.notEmpty(map)
    }

    @Test
    fun testIsInstanceOf() {
        var map=HashMap<String,String>()
        YCAssert.isInstanceOf(Map::class.java,map)
        YCAssert.isInstanceOf(List::class.java,map)
    }


    @Test
    fun testIsAssignable() {
        YCAssert.isAssignable(Map::class.java,HashMap::class.java)
        YCAssert.isAssignable(List::class.java,HashMap::class.java)
    }


}
